﻿using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;

namespace Demo_G.O.S.E.ServerEngine.Creature.General
{
    /// <summary>
    /// 
    /// </summary>
    /// <param name="from"></param>
    /// <returns></returns>
    public delegate TimeSpan RegenRateHandler( BaseCreature from );
    /// <summary>
    /// 
    /// </summary>
    /// <param name="from"></param>
    /// <param name="target"></param>
    /// <returns></returns>
    public delegate bool AllowBeneficialHandler( BaseCreature from, BaseCreature target );
    /// <summary>
    /// 
    /// </summary>
    /// <param name="from"></param>
    /// <param name="target"></param>
    /// <returns></returns>
    public delegate bool AllowHarmfulHandler( BaseCreature from, BaseCreature target );
    /// <summary>
    /// 
    /// </summary>
    /// <param name="from"></param>
    /// <param name="skill"></param>
    /// <param name="target"></param>
    /// <param name="minSkill"></param>
    /// <param name="maxSkill"></param>
    /// <returns></returns>
    public delegate bool SkillCheckTargetHandler( BaseCreature from, object target, double minSkill, double maxSkill );
    /// <summary>
    /// 
    /// </summary>
    /// <param name="from"></param>
    /// <param name="skill"></param>
    /// <param name="minSkill"></param>
    /// <param name="maxSkill"></param>
    /// <returns></returns>
    public delegate bool SkillCheckLocationHandler( BaseCreature from, double minSkill, double maxSkill );
    /// <summary>
    /// 
    /// </summary>
    /// <param name="from"></param>
    /// <param name="skill"></param>
    /// <param name="target"></param>
    /// <param name="chance"></param>
    /// <returns></returns>
    public delegate bool SkillCheckDirectTargetHandler( BaseCreature from, object target, double chance );
    /// <summary>
    /// 
    /// </summary>
    /// <param name="from"></param>
    /// <param name="skill"></param>
    /// <param name="chance"></param>
    /// <returns></returns>
    public delegate bool SkillCheckDirectLocationHandler( BaseCreature from, double chance );
}
